//基于技能专长的jquery 包装集的插件选择
(function($){
    var skillIdArr=[];
    $.fn.skill = function(optionss){
        var opts = $.extend({
            skillName:"",   //显示的技能
            hidSkillName:"",//隐藏的ID值
            skillname:''    //inptext文本值
        },optionss||{}); //合并内容
        //直接指向this
        var target = this;
        var hovering = '';
        //当前this
        target.parents('dd').hover(function(){
            hovering=1;
        },function(){
            hovering='';
        });
        //点击事件
        target.click(function(){
            //判断当前的内容存不存在
            if(mainCon.find(opts.skillName).find('.sList').html() == '' || mainCon.find(opts.skillName).find('.sList').html() == 'undefined'){
                //添加技能选项
                popup();
                //设置标记位
                mainCon.find(opts.skillName).find('.sList').find('.dropLst').hover(function(){
                    hovering=1;
                },function(){
                    hovering='';
                });

                //窗口压缩事件
                $(window).resize(function () {
                    //判断对象是不是显示
                    if (mainCon.find(opts.skillName).find('.sList').find('.dropLst').is(':visible')) {
                        mainCon.find(opts.skillName).find('.sList').find('.dropLst').css({
                            "left": target.parents('dd').offset().left,
                            "top": target.parents('dd').offset().top + target.parents('dd').height()
                        })
                    }
                });
                //点击选项获取
                mainCon.find(opts.skillName).find('.sList').find('.dropLst').find('.ListInfo').find('.tecTabCon').find('.tecComUse').find('li a').each(function(){
                    $(this).click(function(){
                        $(opts.hidSkillName).val($(this).html());
                        $(opts.skillname).val($(this).html());
                        mainCon.find(opts.skillName).find('.sList').find('.dropLst').hide();
                    });
                });
                //点击当前列表
                mainCon.find(opts.skillName).find('.sList').find('.dropLst').find('.tecTab').find('li').each(function(index){
                    $(this).click(function(){
                        $(this).addClass('active').siblings().removeClass('active');
                        mainCon.find(opts.skillName).find('.sList').find('.dropLst').find('.ListInfo').find('.tecTabCon').eq(index).show().siblings().hide();
                        //点击选项获取
                        mainCon.find(opts.skillName).find('.sList').find('.dropLst').find('.ListInfo').find('.tecTabCon').find('dd li a').each(function(){
                            $(this).click(function(){
                                $(opts.hidSkillName).val($(this).html());
                                $(opts.skillname).val($(this).html());
                                mainCon.find(opts.skillName).find('.sList').find('.dropLst').hide();
                            });
                        });
                    });
                });
                //点击底部选项列表
                mainCon.find(opts.skillName).find('.sList').find('.dropLst').find('.ListInfo').find('.tecComType li').each(function(index){
                    $(this).click(function(){
                        //判断是不是有这个类
                        if($(this).hasClass("active")){
                            $(this).removeClass('active');
                            mainCon.find(opts.skillName).find('.sList').find('.dropLst').find(".jobCate").hide();
                        }else{
                            if(index%5 == '0'){
                                $(this).addClass('active').css({'border-left':'none'}).siblings().removeClass('active');
                            }else{
                                $(this).addClass('active').siblings().removeClass('active');
                            }
                            var ocate =  mainCon.find('.dropLst').find('#allJobCate').find('.oCate').eq(index).html();
                            if(index < 5 ){
                                mainCon.find(opts.skillName).find('.sList').find('.dropLst').find("#jobCate").html(ocate).show();
                                mainCon.find(opts.skillName).find('.sList').find('.dropLst').find("#jobCateEnd").hide();
                            }else{
                                mainCon.find(opts.skillName).find('.sList').find('.dropLst').find("#jobCateEnd").html(ocate).show();
                                mainCon.find(opts.skillName).find('.sList').find('.dropLst').find("#jobCate").hide();
                            }
                            //点击弹出选项获取值
                            mainCon.find(opts.skillName).find('.sList').find('.dropLst').find(".jobCate").find('li a').each(function(){
                                $(this).click(function(){
                                    $(opts.hidSkillName).val($(this).html());
                                    $(opts.skillname).val($(this).html());
                                    mainCon.find(opts.skillName).find('.sList').find('.dropLst').hide();
                                });
                            });
                        }
                    });
                });

                //点击其它地方隐常菜单
                $(document).bind("click",function(){
                    if(hovering!=1){
                        mainCon.find(opts.skillName).find('.sList').find('.dropLst').hide();
                        hovering=1;
                    }
                });
                //判断是不是存在
               // if(!(in_array(opts.skillName,skillIdArr))){
                    //去掉重复项
                    //array_unique(skillIdArr.push(opts.skillName));
               // }
            }else{
                mainCon.find(opts.skillName).find('.sList').find('.dropLst').show();
                if(mainCon.find(opts.skillName).find('.sList').find('.dropLst').is(':visible')) {
                    mainCon.find(opts.skillName).find('.sList').find('.dropLst').css({
                        "left": target.parents('dd').offset().left,
                        "top":target.parents('dd').offset().top+target.parents('dd').height()
                    })
                }
            }
        });

        /**追加到页面中*/
        function popup(){
            var str = '';
            str += '<div class="dropLst" style="display: block">';
            str += '<div class="dropLstCon">';
            //头部
            str += '<div class="tecTab">';
            str += '<ul>';
            $.each(header,function(k,v){
                if(k == '0'){
                    str += '<li class="active"><a>'+v+'</a></li>';
                }else{
                    str += '<li><a>'+v+'</a></li>';
                }
            });
            str += '</ul>';
            str += '</div>';

            //列表信息
            str += '<div class="ListInfo">';
            $.each(m,function(k,v){
                //分类选项
                if(v.u instanceof Array && v.u.length != 0) {
                    str += '<div class="allJobCate" id="allJobCate">';
                    $.each(v.m, function (kk, vv) {
                        str += '<div class="oCate"><ul>';
                        $.each(vv.v, function (kkk, vvv) {
                            str += '<li><a>' + vvv.n + '</a></li>';
                        });
                        str += '</ul></div>';
                    });
                    str += '</div>';
                }

                if(v.u instanceof Array && v.u.length != 0){
                    str += '<div class="tecTabCon cpt">';
                    str += '<div class="tecComUse"><ul>';
                    $.each(v.u,function(kk,vv){
                        str += '<li><a>'+vv.n+'</a></li>';
                    });
                    str += '</ul></div>';

                    str += '<div class="tecComType"><ul>';
                    $.each(v.m,function(kk,vv){
                        if(kk%5 == 0 && kk != 0){
                            str += '<div class="jobCate" id="jobCate"></div>';
                        }
                        str += '<li><a>'+vv.n+'<i></i></a></li>';
                    });
                    str += '<div class="jobCate" id="jobCateEnd"></div>';
                    str += '</ul></div>';
                    str += '</div>';

                }else{
                    str += '<div class="tecTabCon same disNone">';
                    $.each(v.s,function(kk,vv){
                        str += '<dl>';
                        str += '<dt>'+vv.n+'</dt>';
                        str += '<dd><ul>';
                        $.each(vv.v,function(kkk,vvv){
                            str += '<li><a>'+vvv.n+'</a></li>';
                        });
                        str += '</ul></dd>';
                        str += '</dl>';
                    });
                    str += '</div>';
                }
            });
            //结束列表信息
            str += '</div>';
            str += '</div></div>';

            mainCon.find(opts.skillName).find('.sList').append(str);
            mainCon.find(opts.skillName).find('.sList').find('.dropLst').css({
                left:target.parents('dd').offset().left,
                top:target.parents('dd').offset().top+target.parents('dd').height()
            }).show();
        }
        return this;
    };
})(jQuery);